iT邦幫忙

2022 iThome 鐵人賽

DAY 5
0

今天,我們開始捲起袖子,著手規劃 ColorCodeTag 這項專案。而軟體開發前的需求確認猶如中華料理的備料,需要花費一定的時間與心力進行規劃與準備。

通常在這時間點,Product Owner 會召集團隊舉行啟動會議 (Kick-off meeting),會議的過程包含介紹團隊成員與角色、專案的需求分工與交付對象、目標與產品規格等。

產品開發規格設定

產品開發的規格常取決於用戶的需求與預算,維運人員通常也能在 Kick-off meeting 時決定部署所需要的機器規格及中間件等

開發規格

Frontend: Angular 14
Backend: Java 11 with spring boot framework
DataBase: SQL Server

部署與運維規格

Containerization: Docker
CI/CD Tools: Jenkins
Registory: Harbor / gitlab
DevOps Server: Ubuntu 20.04 (4 core, 16 GB ram)
Production Server: Ubuntu 20.04 (2 core, 2GB ram)

Sprint Planning !!

這次的衝刺計畫重點如下:

  1. 因為鐵人賽包含專案的開發、紀錄與講解,Sprint 從今天起以 5 ± 1 天為週期
  2. 考量到只有孤單一人的開發,前期的 Sptint 將各流程分段,如第一期的 Sprint 目標為釐清需求、繪製 Wireframe 和製作 prototype 作為可交付的 increment
  3. 暫定第二期的 Sprint 完成後端可交付的程式
  4. 預計的交付日期為 10 月 15 日,期間預計完成 6 次 Sprint

預期 ColorCodeTag 的 DevOps 最終將會走過以下的流程:

  1. Java & Angular 前後端分離開發
  2. Git 分支管理
  3. Jenkins 自動編譯、測試與打包成 Docker image
  4. 以容器化自動部署於 Linux 伺服器上
  5. 測試回饋
  6. 迭代 1 ~ 5

完成了 Sprint 的規劃,我們來設定第一期 Sprint 的目標:

探索需求並具現化為規格


User Story

User Story (使用者故事),是一種描述需求的方式,會用一句簡單的話,來描述用戶的需求及其價值,其範例為:

身為一個 " ... ", 我希望能 " ... ", 好讓我可以 " ... " 。

不難看出核心圍繞在一個具備特定身分的使用者 (或稱角色),想藉由某個東西 (產品,工具,或功能),能夠幫助他完成某件事情。如此以 ColorCodeTag 為例,我們可以寫出:

身為一個系統分析師,我希望能將一張特定的照片快速的轉成一組色碼,讓我能參考並應用在 Web 主題開發上。

User Story Mapping

在完成 User Story 後,我們便能將用戶在平台上會執行的動作由左到右逐一列舉,這裡使用 miro 進行繪製與共同討論:

UserStory

通常這時可能發生一件事情,在逐一列舉使用者的活動時,會刺激團隊甚是客戶的發想,讓新的功能與需求被加入 User Story Mapping 中,而後續每個 Sprint 結束時,也會迭代更新 User Story。

另外,在這時開發團隊可能已經討論並發現,若要完成可交付的 Release 1 階段之試做,可以先完成照片的上傳、解析,並回傳一組色碼字串作為 Product Backlogs 並置於 Sprint Backlog 內。在後續的 Releases 中,便可逐步加入各項 feature,如前端畫面、將色碼從字串改為顏色呈現、在後端使用不同的演算法、色碼可再調整、或提供使用者選擇色碼的數量等。

在這個階段出現想法是非常好的現象,也能讓部分需求在 Sprint 結束前率先被發掘,而 Product Owner 則需要擔起取捨與排序的責任;而 Scrum Master 也要適當控制任務卡片的範圍,避免需求無限膨脹

今日總結

今天,我們正式規劃了 ColorCodeTag 專案,並撰寫 User Story,探索用戶的活動,明天,我們將針對需求繪製出 wireframe,並且製作 Prototype,讓我們能具現化規格,同時、也能進一步挖掘問題、調整方向。

在實際的軟體敏捷開發上,一期 Sprint 的實作可能會是 ColorCodeTag 的數倍,ColorCodeTag 專案的精神在於介紹與實作 DevOps,在鐵人賽的尾聲,我們再一同回顧並想像在正式商業案中,ColorCodeTag 的 Sprint 會長成什麼樣子。


上一篇
Day4: Scrum 簡介
下一篇
Day6: 介面設計流程 - 從 Wireframe 到 Prototype
系列文
一個人也能 DevOps ? 用 Angular + Spring Boot 演示專案由開發到部署30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言